/**
*  \file cfg.h
*
*  \brief Global configuration.
*
*  \author Michael J. Hohmann <michael.hohmann@linde-mh.de>
*
*  Global configuration to control program generation. This is the right place to
*  add additional switches to control debug, trace or management of variants.
*
*/

#ifndef CFG_H_INCLUDED
#define CFG_H_INCLUDED

/*================================================[ public defines   ]================================================*/

/** Inline.
*
*  Wraper for the inline keyword. The keyword inline is defined in ANSI 99 but
*  various (non ANSI 99) compiler support this feature, but sometimes with an
*  other notation. This define is outdated and schould not be used anymore.
*  Use the define STATIC_INLINE instead
*/
#define INLINE    __inline

/** Declare static inline functions
*
*  The define STATIC_INLINE should be used as wraper to define inline functions.
*/
#define STATIC_INLINE  static __inline

/** Restricted.
*
*  Wraper for the restricted keyword. The keyword restricted is defined in
*  ANSI 99. For non ANSI99 compiler this define should be empty.
*/
#define RESTRICTED   restricted

/** Register.
*
*  Wraper for the register keyword. The keyword register is part of the ANSI
*  definition but is suspected (by Misra) to cause problems.
*  Anyway it can be handled with use of this wrapper.
*/
#define REGISTER  register

/** Unreferenced
*
*  The UNREFERENCED macro have to be used to indicate that the variable or parameter
*  is unused and is not refereced. The use of this macro can also prevent compiler
*  warnings.
*/
#define UNREFERENCED(arg)   ((void)arg)

/*====================================================================================================================*/

#endif
/***********************************************************************************************************************
*                             Copyright 2008-2009 Linde Material Handling. All rights reserved.                             *
***********************************************************************************************************************/
